import { Vec3 } from "cc";

export default class Tools {
    /**
     * 获得一个复制值。目前主要用来支持float/vec3。
     */
    public static getClone(obj: any): any {
        if (obj.clone) {
            return obj.clone();
        } else {
            return obj;
        }
    }

    /**
     * 获得相加值。目前主要用来支持float/vec3。会返回一个新的值
     */
    public static add(obj1: any, obj2: any): any {
        if (obj1 instanceof Vec3) {
            return Vec3.add(new Vec3(), obj1, obj2);
        } else {
            return obj1 + obj2;
        }
    }

    /**
     * 获得差值(obj1-obj2)。目前主要用来支持float/vec3。会返回一个新的值
     */
    public static sub(obj1: any, obj2: any): any {
        if (obj1 instanceof Vec3) {
            return Vec3.subtract(new Vec3(), obj1, obj2);
        } else {
            return obj1 - obj2;
        }
    }
}